﻿using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace Terraria.ModLoader
{
	// Token: 0x02000195 RID: 405
	public class GlobalTile
	{
		// Token: 0x17000135 RID: 309
		// (get) Token: 0x0600109F RID: 4255 RVA: 0x0000EBB9 File Offset: 0x0000CDB9
		// (set) Token: 0x060010A0 RID: 4256 RVA: 0x0000EBC1 File Offset: 0x0000CDC1
		public Mod mod { get; internal set; }

		// Token: 0x17000136 RID: 310
		// (get) Token: 0x060010A1 RID: 4257 RVA: 0x0000EBCA File Offset: 0x0000CDCA
		// (set) Token: 0x060010A2 RID: 4258 RVA: 0x0000EBD2 File Offset: 0x0000CDD2
		public string Name { get; internal set; }

		// Token: 0x060010A3 RID: 4259 RVA: 0x0000EBDB File Offset: 0x0000CDDB
		public void AddToArray(ref int[] array, int type)
		{
			Array.Resize<int>(ref array, array.Length + 1);
			array[array.Length - 1] = type;
		}

		// Token: 0x060010A4 RID: 4260 RVA: 0x0000EBF3 File Offset: 0x0000CDF3
		public void AddModTree(int soilType, ModTree tree)
		{
			TileLoader.trees[soilType] = tree;
		}

		// Token: 0x060010A5 RID: 4261 RVA: 0x0000EC01 File Offset: 0x0000CE01
		public void AddModPalmTree(int soilType, ModPalmTree palmTree)
		{
			TileLoader.palmTrees[soilType] = palmTree;
		}

		// Token: 0x060010A6 RID: 4262 RVA: 0x0000EC0F File Offset: 0x0000CE0F
		public void AddModCactus(int soilType, ModCactus cactus)
		{
			TileLoader.cacti[soilType] = cactus;
		}

		// Token: 0x060010A7 RID: 4263 RVA: 0x0000EC1D File Offset: 0x0000CE1D
		public virtual bool Autoload(ref string name)
		{
			return this.mod.Properties.Autoload;
		}

		// Token: 0x060010A8 RID: 4264 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void SetDefaults()
		{
		}

		// Token: 0x060010A9 RID: 4265 RVA: 0x00008CF7 File Offset: 0x00006EF7
		public virtual bool KillSound(int i, int j, int type)
		{
			return true;
		}

		// Token: 0x060010AA RID: 4266 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void NumDust(int i, int j, int type, bool fail, ref int num)
		{
		}

		// Token: 0x060010AB RID: 4267 RVA: 0x00008CF7 File Offset: 0x00006EF7
		public virtual bool CreateDust(int i, int j, int type, ref int dustType)
		{
			return true;
		}

		// Token: 0x060010AC RID: 4268 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void DropCritterChance(int i, int j, int type, ref int wormChance, ref int grassHopperChance, ref int jungleGrubChance)
		{
		}

		// Token: 0x060010AD RID: 4269 RVA: 0x00008CF7 File Offset: 0x00006EF7
		public virtual bool Drop(int i, int j, int type)
		{
			return true;
		}

		// Token: 0x060010AE RID: 4270 RVA: 0x00008CF7 File Offset: 0x00006EF7
		public virtual bool CanKillTile(int i, int j, int type, ref bool blockDamaged)
		{
			return true;
		}

		// Token: 0x060010AF RID: 4271 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void KillTile(int i, int j, int type, ref bool fail, ref bool effectOnly, ref bool noItem)
		{
		}

		// Token: 0x060010B0 RID: 4272 RVA: 0x00008CF7 File Offset: 0x00006EF7
		public virtual bool CanExplode(int i, int j, int type)
		{
			return true;
		}

		// Token: 0x060010B1 RID: 4273 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void NearbyEffects(int i, int j, int type, bool closer)
		{
		}

		// Token: 0x060010B2 RID: 4274 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void ModifyLight(int i, int j, int type, ref float r, ref float g, ref float b)
		{
		}

		// Token: 0x060010B3 RID: 4275 RVA: 0x0000ADF8 File Offset: 0x00008FF8
		public virtual bool Dangersense(int i, int j, int type, Player player)
		{
			return false;
		}

		// Token: 0x060010B4 RID: 4276 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void SetSpriteEffects(int i, int j, int type, ref SpriteEffects spriteEffects)
		{
		}

		// Token: 0x060010B5 RID: 4277 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void AnimateTile()
		{
		}

		// Token: 0x060010B6 RID: 4278 RVA: 0x00008CF7 File Offset: 0x00006EF7
		public virtual bool PreDraw(int i, int j, int type, SpriteBatch spriteBatch)
		{
			return true;
		}

		// Token: 0x060010B7 RID: 4279 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void DrawEffects(int i, int j, int type, SpriteBatch spriteBatch, ref Color drawColor, ref int nextSpecialDrawIndex)
		{
		}

		// Token: 0x060010B8 RID: 4280 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void PostDraw(int i, int j, int type, SpriteBatch spriteBatch)
		{
		}

		// Token: 0x060010B9 RID: 4281 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void SpecialDraw(int i, int j, int type, SpriteBatch spriteBatch)
		{
		}

		// Token: 0x060010BA RID: 4282 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void RandomUpdate(int i, int j, int type)
		{
		}

		// Token: 0x060010BB RID: 4283 RVA: 0x00008CF7 File Offset: 0x00006EF7
		public virtual bool TileFrame(int i, int j, int type, ref bool resetFrame, ref bool noBreak)
		{
			return true;
		}

		// Token: 0x060010BC RID: 4284 RVA: 0x00008CF7 File Offset: 0x00006EF7
		public virtual bool CanPlace(int i, int j, int type)
		{
			return true;
		}

		// Token: 0x060010BD RID: 4285 RVA: 0x0000EC2F File Offset: 0x0000CE2F
		public virtual int[] AdjTiles(int type)
		{
			return new int[0];
		}

		// Token: 0x060010BE RID: 4286 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void RightClick(int i, int j, int type)
		{
		}

		// Token: 0x060010BF RID: 4287 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void MouseOver(int i, int j, int type)
		{
		}

		// Token: 0x060010C0 RID: 4288 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void MouseOverFar(int i, int j, int type)
		{
		}

		// Token: 0x060010C1 RID: 4289 RVA: 0x0000ADF8 File Offset: 0x00008FF8
		public virtual bool AutoSelect(int i, int j, int type, Item item)
		{
			return false;
		}

		// Token: 0x060010C2 RID: 4290 RVA: 0x00008CF7 File Offset: 0x00006EF7
		public virtual bool PreHitWire(int i, int j, int type)
		{
			return true;
		}

		// Token: 0x060010C3 RID: 4291 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void HitWire(int i, int j, int type)
		{
		}

		// Token: 0x060010C4 RID: 4292 RVA: 0x00008CF7 File Offset: 0x00006EF7
		public virtual bool Slope(int i, int j, int type)
		{
			return true;
		}

		// Token: 0x060010C5 RID: 4293 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void FloorVisuals(int type, Player player)
		{
		}

		// Token: 0x060010C6 RID: 4294 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void ChangeWaterfallStyle(int type, ref int style)
		{
		}

		// Token: 0x060010C7 RID: 4295 RVA: 0x0000EAB6 File Offset: 0x0000CCB6
		public virtual int SaplingGrowthType(int type, ref int style)
		{
			return -1;
		}

		// Token: 0x060010C8 RID: 4296 RVA: 0x00006B58 File Offset: 0x00004D58
		public virtual void PlaceInWorld(int i, int j, Item item)
		{
		}
	}
}
